import QtQuick 2.15
import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15
import QtQuick.Shapes 1.15

MainView {
    id: zeroCalPanel
    width: 800
    height: 391
    property color btnColor: "#7080C0"
    property bool zeroCalOK: false

    Component.onCompleted: {
        getVoltageCurrentTimer.interval = mymodbus.collectTime
        getVoltageCurrentTimer.running = true;
    }
    Component.onDestruction: {
        getVoltageCurrentTimer.running = false;
        getVoltageCurrentTimer.destroy()
    }
    Rectangle
    {
        width:800
        height: 200
        color:"transparent"
        GridLayout{ //root中放置一个行布局，布局中放置3个方块
            id: zeroCalibrationLayout
            anchors.centerIn: parent
            //columnSpacing: 20 //间距
            rows: 3//行数
            columns: 1 //列数

//            Button
//            {
//                id: btnCurValue
//                Layout.row:0
//                Layout.column:0
//                Layout.preferredWidth: 80
//                Layout.preferredHeight: 35
//                text: qsTr("电流")
//                font.pixelSize: 18
//                background: Rectangle{
//                    color: btnColor
//                        }
//                onClicked: {
//                    //miniKeyBoard.lineValue = "";
//                    //miniKeyBoard.textInput=oldPwd;
//                }
//            }

//            Rectangle {
//                id: recCurValue
//                //width:300
//                //height:30
//                // x: 218
//                // y: 7
//                color: "transparent"
//                border.width: 0
//                border.color: "white"
//                Layout.row:0
//                Layout.column:1
//                Layout.columnSpan: 2
//                Layout.preferredWidth: 180
//                Layout.preferredHeight: 35
//                // 绘制一条边框
//                Shape {
//                    anchors.fill: parent
//                    ShapePath {
//                        strokeWidth: 3
//                        strokeColor: "white"
//                        strokeStyle: ShapePath.SolidLine
//                        startX: 0
//                        startY: recCurValue.height
//                        PathLine {
//                            x: recCurValue.width
//                            y: recCurValue.height
//                        }
//                    }
//                }
//                TextInput{
//                    id:curValue
//                    anchors.fill: parent
//                    text:mymodbus.current0.toString()+"mV"
//                    //echoMode: TextInput.Password
//                    color:"white"
//                    font.pixelSize: 25
//                    horizontalAlignment: Text.AlignHCenter
//                    readOnly: true
//                    MouseArea {
//                           anchors.fill: parent
//                           onClicked: {
//                               // miniKeyBoard.lineValue = "";
//                               // miniKeyBoard.textInput=oldPwd;
//                           }
//                       }

//                }
//            }
//            MyComboBox{
//                id:deviceIndex
//                Layout.row:0
//                Layout.column:0
//                Layout.preferredWidth: 180
//                Layout.preferredHeight: 30
//            }
            Rectangle {
                id: recCurrentValue
                width:180
                height:30
                // x: 218
                // y: 7
                color: "transparent"
                border.width: 0
                border.color: "white"
                Layout.row:1
                Layout.column:0
                Layout.preferredWidth: 180
                Layout.preferredHeight: 30
                // 绘制一条边框
    //            Shape {
    //                anchors.fill: parent
    //                ShapePath {
    //                    strokeWidth: 3
    //                    strokeColor: "white"
    //                    strokeStyle: ShapePath.SolidLine
    //                    startX: 0
    //                    startY: recCurrentValue.height
    //                    PathLine {
    //                        x: recCurrentValue.width
    //                        y: recCurrentValue.height
    //                    }
    //                }
    //            }
                TextInput{
                    id:currentValue
                    anchors.fill: parent
                    //text:qsTr("电压:")+mymodbus.current0.toString()+"mV"
                    //echoMode: TextInput.Password
                    color:"white"
                    font.pixelSize: 20
                    horizontalAlignment: Text.AlignHCenter
                    verticalAlignment: Text.AlignBottom
                    readOnly: true
                    MouseArea {
                           anchors.fill: parent
                           onClicked: {
                               // miniKeyBoard.lineValue = "";
                               // miniKeyBoard.textInput=oldPwd;
                           }
                       }

                }
            }
            Rectangle {
                    id:stableLight
                    Layout.row:2
                    Layout.column:0
                    Layout.preferredWidth: 30
                    Layout.preferredHeight: 30
                    z:100
                    anchors.horizontalCenter: parent.horizontalCenter
                    //y: 125;                  // 位于父窗体的y位置，以左上角为起点，缺省为0
                    //width: 30;            // 宽度，此时Rectangle控件在Window控件内，属于Window的孩子，可以使用parent继承
                    //height: 30;           // 高度，此时Rectangle控件在Window控件内，属于Window的孩子，可以使用parent
                    color: "transparent";         // 颜色，缺省为白色
                    opacity: 1;          // 透明度，缺省为1
                    radius: 15;           // 圆角，通过圆角来画出一个圆形窗体出来
                    clip: true;            // 截断，在Rectangle控件内的子控件，超出他本身大小后会被截断
                }
            Text{
                id:zeroCalTip
                Layout.row:4
                Layout.column:0
                Layout.preferredHeight: 60
                anchors.horizontalCenter: parent.horizontalCenter
                //anchors.fill: parent
                text:qsTr("请先清空称台，指示灯变绿后")+"\n"+qsTr("点击“确认”，完成零点标定")
                //wrapMode: Text.Wrap
                color:"white"
                font.pixelSize: 20
                horizontalAlignment: Text.AlignHCenter
                verticalAlignment: Text.AlignBottom

            }
        }

   }
    // MiniKeyBoard
    // {
    //     id: miniKeyBoard
    //     x: 34
    //     y: 126
    //     isNumber: false;
    //     visible: false
    // }
    Button
    {
        id:btnZeroCalOK
        x: 572
        y: 281
        //x: 675
        //y: 20
        width: 100
        height: 100
        background: Rectangle{
            border.width: 0
            color: "#C070B0"
                }

        text: qsTr("确定")
        font.pixelSize: 25
        palette.buttonText: "white"
        Connections {
            target: btnZeroCalOK
            onClicked: {
                //mymodbus.zeroCalibration()
                //rectangle.selectedView = 2
                //bottomBar.selected=2
                if(zeroCalLoader.visible){
                    return;
                }
                zeroCalLoader.visible=true;
                zeroCalOK=false
                if(mymodbus.zeroCalibration()){
                    zeroCalOK=true;
                    zeroCalPanelDialog.title=qsTr("零点校准成功！")
                }
                else{
                    zeroCalPanelDialog.title=qsTr("零点校准失败！")

                }
                zeroCalLoader.visible=false;
                zeroCalPanelDialog.open();
//                rectangle.selectedView = 2
//                bottomBar.selected=2

            }
        }
    }

    Button
    {
        id:btnReturn
        x: 688
        y: 281
        //x: 675
        //y: 20
        width: 100
        height: 100
        background: Rectangle{
            border.width: 0
            color: "#B0B0D0"
                }

        text: qsTr("返回")
        font.pixelSize: 25
        palette.buttonText: "white"
        Connections {
            target: btnReturn
            onClicked: {
                //rectangle.selectedView = 2
                bottomBar.selected=2
//                myLoader.visible=false;
//                myLoader.visible=true
                myLoader.source="CalPanel.qml"
            }
        }
    }
    MyBuzyIndicator{
        anchors.centerIn: parent
        id: zeroCalLoader
        visible:false
    }
    Dialog {
        anchors.centerIn: parent
        closePolicy: "CloseOnEscape"
        modal:true
        id: zeroCalPanelDialog
        standardButtons: Dialog.Ok
        onAccepted: {
            zeroCalPanelDialog.close()
            if(zeroCalOK){
//                bottomBar.selected=0
//                //myLoader.setsource="StatusView.qml"
//                myLoader.visible=false;
//                statusView.visible=true;
            }
        }
        z:100
    }
    Timer{
        id:getVoltageCurrentTimer
        running: false
        repeat: true
        //interval: 500
        onTriggered: {
            //if(deviceIndex.currentIndex>-1){
                //currentValue.text= qsTr("电压:")+mymodbus.voltage(deviceIndex.currentIndex).toString()+"uV"
                currentValue.text= qsTr("电压:")+mymodbus.voltage+"uV"
                stableLight.color = mymodbus.stable===1? "green":"red";
            //}
        }
    }
}
